#ifndef __LIB_AGORA_CLIENT_IAUDIOIN_H__
#define __LIB_AGORA_CLIENT_IAUDIOIN_H__

#include "Header.h"
#include "IBuffer.h"

using namespace AgoraCore;

namespace AgoraClient
{

class IAudioIn
{
public:
	virtual ~IAudioIn() {};
	virtual unsigned short GetFrequence() = 0;
	virtual char GetFormat() = 0;
	virtual bool IsSpacial() = 0;
	virtual const AgoraCore::InfoAudioSpacial& GetAudioSpacialInfo() = 0;
	virtual void SetVoiceActivityDetection(bool value, unsigned short levelVoiceActivity = 500, unsigned short timeNoCheckAfterDetection = 200) = 0;
	virtual void SetSpacial(bool) = 0;
	virtual void SetSpacialInfo(int x, int y, int z, 
							 int velocityX, int velocityY, int velocityZ,
							 int dirX, int dirY, int dirZ) = 0;
	virtual void Start(void) = 0;
	virtual void Stop(void) = 0;
	virtual AgoraCore::IBuffer *GetBuffer() = 0;
};

}

#endif
